package packAlarma;

public class Alarma {

	private boolean humoDetectado = false;
	private boolean presenciaDetectada = false;

	/* clase EstadoAlarmas guarda el estado de la alarma */
	static class EstadoAlarmas {
		public boolean humoDetectado;
		public boolean presenciaDetectada;

		public EstadoAlarmas(boolean humo, boolean presencia) {
			humoDetectado = humo;
			presenciaDetectada = presencia;
		}

		public void imprimir() {
			System.out.println("EstadoAlarmas [humoDetectado=" + humoDetectado
					+ ", presenciaDetectada=" + presenciaDetectada + "]");
		}
	}

	/* Activa el detector de humo */
	public void humoDetectado() {
		humoDetectado = true;
	}

	/* Activa el detector de presencia */
	public void presenciaDetectada() {
		presenciaDetectada = true;
	}

	/*
	 * Notifica: Crea un nuevo estado de alarma y lo pone con lo que tienen las
	 * variables de la Alarma y devuelve el estado de las alarma
	 */
	public EstadoAlarmas notifica() {
		return new EstadoAlarmas(humoDetectado, presenciaDetectada);
	}

	/* Desactiva el detector de presencia */
	public void desactiva() {
		humoDetectado = false;
		presenciaDetectada = false;
	}
}